from PyQt5 import QtCore,QtGui
from PyQt5.QtWidgets import QComboBox
from PyQt5.QtCore import pyqtSignal
import serial
import serial.tools.list_ports
import Func_Serial
#导入串口模块

#from SerialPort import ser_obj

class MyComboBoxControl(QComboBox):
    clicked = pyqtSignal()     # 自定义信号

    def __init__(self, parent = None):
        super(MyComboBoxControl,self).__init__(parent) #调用父类初始化方法
        self.ser_port = Func_Serial.UartSerial()

    # 重写showPopup函数 这个函数会在点击combobox的时候调用，我们这里重写这个
    # 选项框，这样就可以刷新列表了
    def showPopup(self):  
        # 先清空原有的选项
        self.clear()
        self.insertItem(0,"请选择串口号")    
        index = 1
        # 获取接入的所有串口信息，插入combobox的选项中
        port_list =  self.ser_port.get_all_port()
        if port_list is not None:
            for i in port_list:
                self.insertItem(index, i)
                index += 1
        QComboBox.showPopup(self)   # 弹出选项框  